package com.jichangxiu.common.utils;

import com.jichangxiu.common.context.JcxContext;
import com.jichangxiu.common.entity.bo.JcxContextEntity;
import com.jichangxiu.common.entity.rule.PostRule;
import com.jichangxiu.common.entity.rule.PowerRule;
import com.jichangxiu.common.entity.rule.RoleRule;

import java.util.List;

public class JcxContextUtils {

    public static void fillJcxContextEntityByLogin(String tenantId, String userInfo) {
        JcxContextEntity jcxContextEntity = JcxContext.getJcxContextEntity();
        jcxContextEntity.setTenantId(tenantId);
        jcxContextEntity.setUserId(userInfo);
        jcxContextEntity.setUserName(userInfo);
        JcxContext.setJcxContextEntity(jcxContextEntity);
    }

    public static void fillJcxContextEntityByTenant(String tenantId, String tenantName, String tenantSource) {
        JcxContextEntity jcxContextEntity = JcxContext.getJcxContextEntity();
        jcxContextEntity.setTenantId(tenantId);
        jcxContextEntity.setTenantName(tenantName);
        jcxContextEntity.setTenantSource(tenantSource);
        JcxContext.setJcxContextEntity(jcxContextEntity);
    }

    public static void fillJcxContextEntityByUser(String deptId, String deptName, String userId, String userCode, String userName) {
        JcxContextEntity jcxContextEntity = JcxContext.getJcxContextEntity();
        jcxContextEntity.setDeptId(deptId);
        jcxContextEntity.setDeptName(deptName);
        jcxContextEntity.setUserId(userId);
        jcxContextEntity.setUserCode(userCode);
        jcxContextEntity.setUserName(userName);
        JcxContext.setJcxContextEntity(jcxContextEntity);
    }

    public static void fillJcxContextEntityByPayload(String jti, String jwt) {
        JcxContextEntity jcxContextEntity = JcxContext.getJcxContextEntity();
        jcxContextEntity.setJti(jti);
        jcxContextEntity.setJwt(jwt);
        JcxContext.setJcxContextEntity(jcxContextEntity);
    }

    public static void fillJcxContextEntityByAuth(List<PostRule> postRuleList, List<RoleRule> roleRuleList, List<PowerRule> powerRuleList) {
        JcxContextEntity jcxContextEntity = JcxContext.getJcxContextEntity();
        jcxContextEntity.setPostRuleList(postRuleList);
        jcxContextEntity.setRoleRuleList(roleRuleList);
        jcxContextEntity.setPowerRuleList(powerRuleList);
        JcxContext.setJcxContextEntity(jcxContextEntity);
    }

}
